//
//  HMMainViewController.swift
//  Weibo24
//
//  Created by Apple on 17/3/25.
//  Copyright © 2017年 KY. All rights reserved.
//

import UIKit

class HMMainViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //  设置自定义tabbar
//        self.tabBar = HMTabBar()
        //  使用kvc给只读属性赋值
        let hmTabBar = HMTabBar()
        //  设置代理对象
        hmTabBar.hmDelegate = self
        //  设置登录回调的闭包
        hmTabBar.loginClosure = {[weak self] in
            //  使用self需要注意循环引用
            print(self)
        }
        self.setValue(hmTabBar, forKey: "tabBar")
        
        //  首页
        addChildViewController(childController: HMHomeTableViewController(), imageName: "tabbar_home", title: "首页")
        //  消息
        addChildViewController(childController: HMMessageTableViewController(), imageName: "tabbar_message_center", title: "消息")
        //  发现
        addChildViewController(childController: HMDiscoverTableViewController(), imageName: "tabbar_discover", title: "发现")
        //  我的
        addChildViewController(childController: HMProfileTableViewController(), imageName: "tabbar_profile", title: "我的")
    }
    
    //  添加子控制器, 方法的重载
    func addChildViewController(childController: UIViewController, imageName: String, title: String) {
        
        //  设置tabbaritem的图片
        childController.tabBarItem.image = UIImage(named: imageName)
        //  设置tabbaritem的选中图片, 修改图片的呈现模式
        childController.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.withRenderingMode(.alwaysOriginal)
        //  设置tabbaritem文字的选中颜色
        childController.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orange], for: .selected)
        //  设置文字大小
        childController.tabBarItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFont(ofSize: 12)], for: .normal)
        //  设置tabbaritem的文字
//        childController.tabBarItem.title = title
//        //  设置导航栏标题
//        childController.navigationItem.title = title
    
    

        //  合成一句代码
        childController.title = title
        //  创建导航控制器
        let nav = HMNavigationViewController(rootViewController: childController)
        //  设置导航栏文字颜色
//        nav.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orange]
        
        //  添加子视图控制器
        self.addChildViewController(nav)
        
        
        
    }
    
}

extension HMMainViewController: HMTabBarDelegate {
    func loginOperation() {
        print("我是代理对象调用过来的")
    }
}
